﻿// Inner Fire 游戏引擎库
// SkyBox - 天空盒
//
// Copyright (c) 2025 by 尔西大帝. All rights reserved.
//
// 所属层级：应用层(4)
// 天空盒的资源。
//
// Author: 尔西大帝
// Email: 2670613871@qq.com
// Created: 2025-01-16

#pragma once

#include <dx/texture/dx_material.h>
#include <game/resource/resource.h>
#include <xml_reader.h>

using namespace ikit;

namespace ifire::game {
class Assets;

class SkyBox : public Resource {
public:
  SkyBox(Assets* manager, const XmlNode& node);
  SkyBox(const SkyBox& lhs) = delete;
  SkyBox& operator=(const SkyBox& lhs) = delete;
  ~SkyBox() = default;

  //
  // 属性访问
  //
  const ikit::sstr GetMaterial() const { return material_; }

private:
  ikit::sstr material_;
};

using SkyBoxPtr = std::unique_ptr<SkyBox>;

} // namespace ifire::game